Wide Area Network (WAN) optimization solutions are often used to accelerate the transmission of data over a network. The poor performance and IT complexity associated with computing systems that span WANs can be mitigated through optimization schemes which reduce the amount of data transmitted from one system end point to another. Traditionally, using a network-centric approach to WAN optimization can allow enterprises to consolidate their IT infrastructure in private clouds, public clouds or a branch office.
Enterprises now support many different types of end-user devices over distributed links such as the internet. Furthermore, enterprises often deliver applications and services, e.g. voice-over-IP (VOIP), 3D graphics applications and Office, over these distributed links. It is now common for users to be decoupled from their applications such that applications and services are delivered to end-users from any network node. This form of distributed computing requires data delivery over multiple different types of networks using any number of communication protocols. Optimizing WANs in this environment can be difficult because the network landscape is often unknown and can change. One method for optimizing WANs includes reducing the size of a network pipe. While this method can reduce the amount of bandwidth used during a data transmission, there is still little control over how the available bandwidth is distributed to new or parallel data transmissions. This method also does not provide IT departments with a way to control network parameters that can affect end-user experience and mitigate the damage done by users who use an excessive amount of bandwidth.
Optimizing a WAN such that critical applications and services are delivered in a minimal amount of time using an optimal amount of bandwidth can require a user-centric approach to optimization. Thus, systems and methods are needed to provide user-centric optimization rather than network-centric optimization.
In some instances, WAN optimization can be accomplished by using traffic shaping to provide a quality of service to the optimized WAN traffic. Traffic shaping ensures support for link-sharing of integrated services which allows resource sharing among applications that require different network services but belong to the same administrative class. Network traffic can contain multiple service classes such that some data corresponds to real-time service requirements while others correspond to other classes of service. In some instances, data packets corresponding to different sessions or belonging to different classes of service interact with each other by using the same output link of an appliance. This appliance can be a switch, router, gateway or other device sometimes referred to as a WAN pipe. The scheduling algorithm at the switching nodes can play a critical role in substantially simultaneously supporting link-sharing, real-time traffic management and best-effort traffic management.
Traffic shaping can include minimizing an amount of data transmitted across a network and transmitting the data according to a method that ensures bursty traffic conforms to the system's defined flow limits. An end-to-end traffic management algorithm can be used to estimate bandwidth usage and distribute available bandwidth among managed sessions. Distributing bandwidth fairly among competing sessions can include using an algorithm that does the following: provides the tightest delay bound among all fair queuing algorithms; has the smallest worst-case fair index amongst all fair queuing algorithms; and has a relatively low implementation complexity. Improving such an algorithm can include optimizing portions of the algorithm so that the performance of the algorithm surpasses other hierarchical fair service algorithms.
Thus, systems and methods are needed to provide an optimized hierarchical fair service algorithm that creates levels of priority within delay-sensitive traffic and fairness among the data flows within those priorities. Further, systems and methods are needed that mitigate the problems posed by low priority DBC traffic (or other highly compressed traffic) that must retain an enormous amount of memory until a highly compressed packet is acknowledged. Retaining this information can be required because it may necessary to retransmit the highly compressed traffic should the traffic be lost on a WAN.